package vista;
//cp
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.Vector;

import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.LayoutStyle;

import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;
import rmi.*
;
/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class GuiAdministracion extends javax.swing.JFrame {
	
	private static final long serialVersionUID = 1L;
	
	private JScrollPane jScrollPane1;
	private JButton jButton1;
	private JLabel msg;
	private JMenuItem jMenuItemOB;
	private JMenuItem jMenuItemOM;
	private JMenuItem jMenuItemOA;
	private JMenuItem jMenuItemCB;
	private JMenuItem jMenuItemCM;
	private JMenuItem jMenuItemCA;
	private JMenuItem jMenuItemAcercaDe;
	private JMenuItem jMenuItemUB;
	private JMenuItem jMenuItemUM;
	private JMenuItem jMenuItemUA;
	private JMenuItem jMenuItemSalir;
	private JMenu jMenuAyuda;
	private JMenu jMenuOficina;
	private JMenu jMenuCasilla;
	private JMenu jMenu2;
	
	private JMenu jMenuArchivo;
	private JMenuBar jMenuBar1;
	private JTable jTable1;
	private Vector<Vector> entradas;
	private Vector <String> encabezados;
	private FachadaAdmin servidor = null;

	private ProxyGui proxyGui;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				GuiAdministracion inst;
					inst = new GuiAdministracion();
					inst.setLocationRelativeTo(null);
					inst.setVisible(true);
				
			}
		});
	}
	
	public GuiAdministracion() {
		super();
		
		try {
			proxyGui = new ProxyGui(this);
		} catch (RemoteException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
	
		encabezados = new Vector<String>();
		encabezados.addElement("HORA");
		encabezados.addElement("MENSAJE");
		
		
		
		entradas = new Vector();
		;
		Vector aux = new Vector();
		aux.add("18:01:34");
		aux.add("Inicia la prueba");
		entradas.add(aux);
		aux = new Vector();
		
		aux.add("19:35:34");
		aux.add("FALLO GENERAL");
		entradas.add(aux);
		
		  //System.setSecurityManager(new RMISecurityManager());

/*		try {
            UnicastRemoteObject.exportObject(this);
        }
        catch(RemoteException re) {
            re.printStackTrace();
        }
*/
		try {
			Registry registro = LocateRegistry.getRegistry("127.0.0.1", 1099);
			servidor = (rmi.FachadaAdmin)registro.lookup("serveradmin");
			
			//servidor = (rmi.FachadaAdmin)Naming.lookup("//localhost/serveradmin");
		} catch (RemoteException e) {
			System.out.println("ERROR EXCEPCION REMOTA");
			e.printStackTrace();
		} catch (NotBoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
				 
				
	
		initGUI();
		


for (int i = 1; i<10; i++){
			
			aux = new Vector();
			
			aux.add(Integer.toString(i));
			aux.add("Hasta la vista baby!");
			entradas.add(aux);
}

	
			
		//jTable1.updateUI();
		
	}
	
	private void initGUI() {
		try {
			GroupLayout thisLayout = new GroupLayout((JComponent)getContentPane());
			getContentPane().setLayout(thisLayout);
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{
				jMenuBar1 = new JMenuBar();
				setJMenuBar(jMenuBar1);
				{
					jMenuArchivo = new JMenu();
					jMenuBar1.add(jMenuArchivo);
					jMenuArchivo.setText("Archivo");
					{
						jMenuItemSalir = new JMenuItem();
						jMenuArchivo.add(jMenuItemSalir);
						jMenuItemSalir.setText("Salir");
						jMenuItemSalir.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								
								GuiAdministracion.this.dispose();
							}
						});
					}
				}
				{
					jMenu2 = new JMenu();
					jMenuBar1.add(jMenu2);
					jMenu2.setText("Usuario");
					{
						jMenuItemUA = new JMenuItem();
						jMenu2.add(jMenuItemUA);
						jMenuItemUA.setText("Alta");
					}
					{
						jMenuItemUM = new JMenuItem();
						jMenu2.add(jMenuItemUM);
						jMenuItemUM.setText("Modificar");
					}
					{
						jMenuItemUB = new JMenuItem();
						jMenu2.add(jMenuItemUB);
						jMenuItemUB.setText("Baja");
					}
				}
				{
					jMenuCasilla = new JMenu();
					jMenuBar1.add(jMenuCasilla);
					jMenuCasilla.setText("Casilla");
					{
						jMenuItemCA = new JMenuItem();
						jMenuCasilla.add(jMenuItemCA);
						jMenuItemCA.setText("Alta");
					}
					{
						jMenuItemCM = new JMenuItem();
						jMenuCasilla.add(jMenuItemCM);
						jMenuItemCM.setText("Modificar");
					}
					{
						jMenuItemCB = new JMenuItem();
						jMenuCasilla.add(jMenuItemCB);
						jMenuItemCB.setText("Baja");
					}
				}
				{
					jMenuOficina = new JMenu();
					jMenuBar1.add(jMenuOficina);
					jMenuOficina.setText("Oficina");
					{
						jMenuItemOA = new JMenuItem();
						jMenuOficina.add(jMenuItemOA);
						jMenuItemOA.setText("Alta");
					}
					{
						jMenuItemOM = new JMenuItem();
						jMenuOficina.add(jMenuItemOM);
						jMenuItemOM.setText("Modificar");
					}
					{
						jMenuItemOB = new JMenuItem();
						jMenuOficina.add(jMenuItemOB);
						jMenuItemOB.setText("Baja");
					}
				}
				{
					jMenuAyuda = new JMenu();
					jMenuBar1.add(jMenuAyuda);
					jMenuAyuda.setText("Ayuda");
					{
						jMenuItemAcercaDe = new JMenuItem();
						jMenuAyuda.add(jMenuItemAcercaDe);
						jMenuItemAcercaDe.setText("Acerca de");
					}
				}
			}
			{
				jScrollPane1 = new JScrollPane();
				{
					TableModel jTable1Model = 
						new DefaultTableModel(entradas, encabezados);
					
					jTable1 = new JTable();
					jScrollPane1.setViewportView(jTable1);
					jTable1.setModel(jTable1Model);
					jTable1.setFillsViewportHeight(true);
					
					
					TableColumn column = null;
					column = jTable1.getColumnModel().getColumn(0);
					System.out.println(column.getPreferredWidth());
					column.setPreferredWidth(25);
					column = jTable1.getColumnModel().getColumn(1);
					column.setPreferredWidth(500);
					jTable1.updateUI();
					
				}
			}
			{
				jButton1 = new JButton();
				jButton1.setText("Probar");
				jButton1.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						try {
							servidor.test(proxyGui);
						} catch (RemoteException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
						
					}
				});

			}
			{
				this.msg = new JLabel();
				msg.setText("Ni noticias...");
			}
			thisLayout.setVerticalGroup(thisLayout.createSequentialGroup()
				.addContainerGap(44, 44)
				.addComponent(msg, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE)
				.addGap(106)
				.addComponent(jButton1, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
				.addGap(0, 59, Short.MAX_VALUE)
				.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 237, GroupLayout.PREFERRED_SIZE));
			thisLayout.setHorizontalGroup(thisLayout.createParallelGroup()
				.addComponent(jScrollPane1, GroupLayout.Alignment.LEADING, 0, 800, Short.MAX_VALUE)
				.addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
				    .addGap(85)
				    .addComponent(msg, GroupLayout.PREFERRED_SIZE, 496, GroupLayout.PREFERRED_SIZE)
				    .addGap(72)
				    .addComponent(jButton1, GroupLayout.PREFERRED_SIZE, 59, GroupLayout.PREFERRED_SIZE)
				    .addContainerGap(88, Short.MAX_VALUE)));
			pack();
			this.setSize(816, 550);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	
	public void agregarCuenta() throws RemoteException {
		// TODO Auto-generated method stub
		
	}

	
	public void agregarOficina() throws RemoteException {
		// TODO Auto-generated method stub
		
	}

	
	public void agregarUsuario() throws RemoteException {
		// TODO Auto-generated method stub
		
	}

	
	public void loadLog() throws RemoteException {
		// TODO Auto-generated method stub
		
	}

	
	public void quitarOficina() throws RemoteException {
		// TODO Auto-generated method stub
		
	}

	
	public void quitarUsuario() throws RemoteException {
		// TODO Auto-generated method stub
		
	}

	
	public void updateLog() throws RemoteException {
		// TODO Auto-generated method stub
		
	}

	
	public void updateMsg(String mensaje) throws RemoteException {
		System.out.println("Estoy en el cliente" + this.msg);
		System.out.println(mensaje);
		msg.setText(mensaje);		
	}

}
